<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPH::fluid_dynamics::ExtendPressureRelaxation&lt; BasePressureRelaxationType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_s_p_h.html">SPH</a></li><li class="navelem"><b>fluid_dynamics</b></li><li class="navelem"><a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_extend_pressure_relaxation.html">ExtendPressureRelaxation</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_s_p_h_1_1fluid__dynamics_1_1_extend_pressure_relaxation-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SPH::fluid_dynamics::ExtendPressureRelaxation&lt; BasePressureRelaxationType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>template class for pressure relaxation scheme with wall boundary and considering non-conservative acceleration term and wall penalty to prevent particle penetration.  
 <a href="class_s_p_h_1_1fluid__dynamics_1_1_extend_pressure_relaxation.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="fluid__dynamics__complex_8h_source.html">fluid_dynamics_complex.h</a>&gt;</code></p>

<p>Inherits <a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation.html">SPH::fluid_dynamics::PressureRelaxation&lt; BasePressureRelaxationType &gt;</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad47a12816bedff8c864980f4baec31f0"><td class="memTemplParams" colspan="2"><a id="ad47a12816bedff8c864980f4baec31f0"></a>
template&lt;class BaseBodyRelationType &gt; </td></tr>
<tr class="memitem:ad47a12816bedff8c864980f4baec31f0"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>ExtendPressureRelaxation</b> (BaseBodyRelationType &amp;base_body_relation, <a class="el" href="class_s_p_h_1_1_base_body_relation_contact.html">BaseBodyRelationContact</a> &amp;wall_contact_relation, Real penalty_strength=1.0)</td></tr>
<tr class="separator:ad47a12816bedff8c864980f4baec31f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation.html">SPH::fluid_dynamics::PressureRelaxation&lt; BasePressureRelaxationType &gt;</a></td></tr>
<tr class="memitem:abf02d0a060b043e805634170779d8c45 inherit pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation"><td class="memTemplParams" colspan="2"><a id="abf02d0a060b043e805634170779d8c45"></a>
template&lt;class BaseBodyRelationType &gt; </td></tr>
<tr class="memitem:abf02d0a060b043e805634170779d8c45 inherit pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>PressureRelaxation</b> (BaseBodyRelationType &amp;base_body_relation, <a class="el" href="class_s_p_h_1_1_base_body_relation_contact.html">BaseBodyRelationContact</a> &amp;wall_contact_relation)</td></tr>
<tr class="separator:abf02d0a060b043e805634170779d8c45 inherit pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall.html">SPH::fluid_dynamics::RelaxationWithWall&lt; BasePressureRelaxationType &gt;</a></td></tr>
<tr class="memitem:af3864f9e7220d21f58641cbc5f7bb927 inherit pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="af3864f9e7220d21f58641cbc5f7bb927"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>RelaxationWithWall</b> (BaseBodyRelationType &amp;base_body_relation, <a class="el" href="class_s_p_h_1_1_base_body_relation_contact.html">BaseBodyRelationContact</a> &amp;wall_contact_relation)</td></tr>
<tr class="separator:af3864f9e7220d21f58641cbc5f7bb927 inherit pub_methods_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_p_h_1_1_data_delegate_contact"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_p_h_1_1_data_delegate_contact')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_s_p_h_1_1_data_delegate_contact.html">SPH::DataDelegateContact&lt; BodyType, ParticlesType, MaterialType, ContactBodyType, ContactParticlesType, ContactMaterialType, BaseDataDelegateType &gt;</a></td></tr>
<tr class="memitem:a26e9c4c1e2b6e063f5115c5b6618eb2a inherit pub_methods_class_s_p_h_1_1_data_delegate_contact"><td class="memItemLeft" align="right" valign="top"><a id="a26e9c4c1e2b6e063f5115c5b6618eb2a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>DataDelegateContact</b> (<a class="el" href="class_s_p_h_1_1_base_body_relation_contact.html">BaseBodyRelationContact</a> &amp;body_contact_relation)</td></tr>
<tr class="separator:a26e9c4c1e2b6e063f5115c5b6618eb2a inherit pub_methods_class_s_p_h_1_1_data_delegate_contact"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:af9def64733a0e4a0584d3d781a9d2f22"><td class="memItemLeft" align="right" valign="top"><a id="af9def64733a0e4a0584d3d781a9d2f22"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Initialization</b> (<a class="el" href="classsize__t.html">size_t</a> index_i, Real dt=0.0) override</td></tr>
<tr class="separator:af9def64733a0e4a0584d3d781a9d2f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7c7de1450d6dbcd8cd50c8d93a19fa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_extend_pressure_relaxation.html#a2b7c7de1450d6dbcd8cd50c8d93a19fa">Interaction</a> (<a class="el" href="classsize__t.html">size_t</a> index_i, Real dt=0.0) override</td></tr>
<tr class="separator:a2b7c7de1450d6dbcd8cd50c8d93a19fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf5786335b96f751ba005230010f4ce5"><td class="memItemLeft" align="right" valign="top"><a id="adf5786335b96f751ba005230010f4ce5"></a>
virtual Vecd&#160;</td><td class="memItemRight" valign="bottom"><b>computeNonConservativeAcceleration</b> (<a class="el" href="classsize__t.html">size_t</a> index_i) override</td></tr>
<tr class="separator:adf5786335b96f751ba005230010f4ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a17465f67ea54855b801216a3a3afb5ef"><td class="memItemLeft" align="right" valign="top"><a id="a17465f67ea54855b801216a3a3afb5ef"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>penalty_strength_</b></td></tr>
<tr class="separator:a17465f67ea54855b801216a3a3afb5ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a960047da399bc1f30ae8b16174193926"><td class="memItemLeft" align="right" valign="top"><a id="a960047da399bc1f30ae8b16174193926"></a>
StdLargeVec&lt; Vecd &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>non_cnsrv_acc_</b></td></tr>
<tr class="separator:a960047da399bc1f30ae8b16174193926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall.html">SPH::fluid_dynamics::RelaxationWithWall&lt; BasePressureRelaxationType &gt;</a></td></tr>
<tr class="memitem:a919a446aefa08aece0573daa074d6fc0 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="a919a446aefa08aece0573daa074d6fc0"></a>
StdVec&lt; Real &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>wall_inv_rho0_</b></td></tr>
<tr class="separator:a919a446aefa08aece0573daa074d6fc0 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f2b310ee36e3e0668ebaa35bf00ee9 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="a43f2b310ee36e3e0668ebaa35bf00ee9"></a>
StdVec&lt; StdLargeVec&lt; Real &gt; *&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>wall_mass_</b></td></tr>
<tr class="separator:a43f2b310ee36e3e0668ebaa35bf00ee9 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b15a300891221d124e6505c9d4a870 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="a85b15a300891221d124e6505c9d4a870"></a>
StdVec&lt; StdLargeVec&lt; Real &gt; *&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>wall_Vol_</b></td></tr>
<tr class="separator:a85b15a300891221d124e6505c9d4a870 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bb5e8c6103fdab4ff994c139d6a70ba inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="a7bb5e8c6103fdab4ff994c139d6a70ba"></a>
StdVec&lt; StdLargeVec&lt; Vecd &gt; *&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>wall_vel_ave_</b></td></tr>
<tr class="separator:a7bb5e8c6103fdab4ff994c139d6a70ba inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ff17171c1c8a754714db90b4931bdca inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="a6ff17171c1c8a754714db90b4931bdca"></a>
StdVec&lt; StdLargeVec&lt; Vecd &gt; *&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>wall_acc_ave_</b></td></tr>
<tr class="separator:a6ff17171c1c8a754714db90b4931bdca inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50f8584c80d78199e4725ea879108068 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memItemLeft" align="right" valign="top"><a id="a50f8584c80d78199e4725ea879108068"></a>
StdVec&lt; StdLargeVec&lt; Vecd &gt; *&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>wall_n_</b></td></tr>
<tr class="separator:a50f8584c80d78199e4725ea879108068 inherit pro_attribs_class_s_p_h_1_1fluid__dynamics_1_1_relaxation_with_wall"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_s_p_h_1_1_data_delegate_contact')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_s_p_h_1_1_data_delegate_contact.html">SPH::DataDelegateContact&lt; BodyType, ParticlesType, MaterialType, ContactBodyType, ContactParticlesType, ContactMaterialType, BaseDataDelegateType &gt;</a></td></tr>
<tr class="memitem:ae984af2d1c59ab7c95b388e1f4164f8f inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memItemLeft" align="right" valign="top"><a id="ae984af2d1c59ab7c95b388e1f4164f8f"></a>
StdVec&lt; ContactBodyType * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>contact_bodies_</b></td></tr>
<tr class="separator:ae984af2d1c59ab7c95b388e1f4164f8f inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaeb85c721e02ee0559891b9f75dd0ca inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memItemLeft" align="right" valign="top"><a id="abaeb85c721e02ee0559891b9f75dd0ca"></a>
StdVec&lt; ContactParticlesType * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>contact_particles_</b></td></tr>
<tr class="separator:abaeb85c721e02ee0559891b9f75dd0ca inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98d7d2a46fba0efed197fb871ba1ac7a inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memItemLeft" align="right" valign="top"><a id="a98d7d2a46fba0efed197fb871ba1ac7a"></a>
StdVec&lt; ContactMaterialType * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>contact_material_</b></td></tr>
<tr class="separator:a98d7d2a46fba0efed197fb871ba1ac7a inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f1efc9b04436cbe130e313b213d37a0 inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memItemLeft" align="right" valign="top">StdVec&lt; <a class="el" href="namespace_s_p_h.html#a720b2214c518c3299a6d4895dacddc50">ParticleConfiguration</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_data_delegate_contact.html#a3f1efc9b04436cbe130e313b213d37a0">contact_configuration_</a></td></tr>
<tr class="separator:a3f1efc9b04436cbe130e313b213d37a0 inherit pro_attribs_class_s_p_h_1_1_data_delegate_contact"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class BasePressureRelaxationType&gt;<br />
class SPH::fluid_dynamics::ExtendPressureRelaxation&lt; BasePressureRelaxationType &gt;</h3>

<p>template class for pressure relaxation scheme with wall boundary and considering non-conservative acceleration term and wall penalty to prevent particle penetration. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a2b7c7de1450d6dbcd8cd50c8d93a19fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b7c7de1450d6dbcd8cd50c8d93a19fa">&#9670;&nbsp;</a></span>Interaction()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BasePressureRelaxationType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_extend_pressure_relaxation.html">SPH::fluid_dynamics::ExtendPressureRelaxation</a>&lt; BasePressureRelaxationType &gt;::Interaction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsize__t.html">size_t</a>&#160;</td>
          <td class="paramname"><em>index_i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Real&#160;</td>
          <td class="paramname"><em>dt</em> = <code>0.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>penalty method to prevent particle running into boundary </p>

<p>Reimplemented from <a class="el" href="class_s_p_h_1_1fluid__dynamics_1_1_pressure_relaxation.html">SPH::fluid_dynamics::PressureRelaxation&lt; BasePressureRelaxationType &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>SPHINXsys/src/shared/particle_dynamics/fluid_dynamics/<a class="el" href="fluid__dynamics__complex_8h_source.html">fluid_dynamics_complex.h</a></li>
<li>SPHINXsys/src/shared/particle_dynamics/fluid_dynamics/<a class="el" href="fluid__dynamics__complex_8hpp_source.html">fluid_dynamics_complex.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
